package info.nightbrest.agt.client;

import com.google.gwt.inject.client.AbstractGinModule;
import com.google.inject.Singleton;
import info.nightbrest.agt.client.view.AgtShell;
import info.nightbrest.agt.client.view.impl.AgtShellImpl;
import info.nightbrest.agt.client.view.LoginPanelView;
import info.nightbrest.agt.client.view.impl.LoginPanelViewImpl;
import info.nightbrest.agt.shared.rpc.transport.Serializer;
import info.nightbrest.agt.shared.rpc.transport.SerializerImpl;

public class AgtInjectorModule extends AbstractGinModule
{
	@Override
	protected void configure()
	{
		bind(AgtDispatcher.class)
				.to(AgtDispatcherImpl.class)
				.in(Singleton.class);

		bind(AgtShell.class)
				.to(AgtShellImpl.class);

		bind(LoginPanelView.class)
				.to(LoginPanelViewImpl.class);

		bind(Serializer.class)
				.to(SerializerImpl.class)
				.in(Singleton.class);
	}
}